This disclosure relates to storage devices and, in particular, versioning storage devices and methods.
Storage devices may operate in ways that impact latency. For example, data is written to solid state storage devices/drives (SSD) in page units. A block is created from multiple pages. The flash memory can only be erased in block units. If some of the pages in a block are no longer needed, other valid pages in the block are read and written to another block to free up the stale block. The stale block may then be erased. This process is called garbage collection.
Garbage collection may increase the latency of the storage device. In particular, the SSD may not be able to process read and/or write requests while performing garbage collection. As a result, incoming read/write requests may be delayed until the garbage collection has finished.
Some hard disk drives use shingled magnetic recording. With shingled magnetic recording, tracks on the storage medium overlap. When data stored in a track is modified and that track is rewritten, overlapping tracks must also be read and rewritten. These additional operations increase latency while they are performed.